//js 变量命名规范
// 只能以 : 双字节 小写字母 大写字母 _ $ 为开头
// 以 : 双字节 小写字母 大写字母 _ $ 数字 为其他字符
export function regVar(rule, value, callback) {
  let myreg = /^([^\x00-\xff]|[a-zA-Z_$])([^\x00-\xff]|[a-zA-Z0-9_$])*$/;
  if (!value) {
    return callback();
  }
  if (!myreg.test(value)) {
    return callback(new Error("包含数字、字母、下划线和$,但不能以数字开头"));
  } else {
    return callback();
  }
}
// 用户名 字母数字组成6-16位
export function regKw(rule, value, callback) {
  let myreg = /^[A-Za-z_]+$/g;
  if (!value) {
    return callback();
  }
  if (!myreg.test(value)) {
    return callback(new Error("只能输入字母和下划线"));
  } else {
    return callback();
  }
}
export function mustString(rule, value, callback) {
  if (!value) {
    return callback(new Error("请输入"));
  }
  if (typeof value !== "string") {
    return callback(new Error("只能输入字符串"));
  } else {
    return callback();
  }
}
export function regSceneID(rule, value, callback) {
  let myreg = /^[A-Za-z_]+$/g;
  if (!value) {
    return callback(new Error("请输入场景ID"));
  }
  if (!myreg.test(value)) {
    return callback(new Error("只能输入字母和下划线"));
  } else {
    return callback();
  }
}
export function mustJsonObj(rule, value, callback) {
  try {
    JSON.parse(value);
  } catch (e) {
    // 错误处理代码片段
    return callback(new Error("请输入JSON格式的数据"));
  }
  return callback();
}
